---
title: 钩子
description: 如何通过编辑器钩子将 Ultracite 与 AI 编程助手集成。
---

Ultracite 可以在 AI 编程助手通过编辑器钩子进行编辑后，自动格式化并修复代码。这可确保所有 AI 生成的代码在无需人工干预的情况下符合你项目的规范。

这些钩子与 Biome 的 linting 和格式化配合工作。当 AI 编程助手编辑文件后，钩子会自动运行 `npx ultracite fix` 来格式化并修复可自动修复的 lint 问题。这种双重方法既确保智能代码生成（通过 AI 规则），又保证自动化的代码质量（通过钩子）。

> **注意：** 钩子与 AI 编程规则是分开的。`--agents` 标志配置 AI 编程规则，而 `--hooks` 标志在文件编辑后设置自动格式化。

## 设置

### 自动设置

当你运行 `npx ultracite init` 时，你将被提示选择要启用哪些编辑器钩子：

```bash
? Which agent hooks do you want to enable (optional)?
  ◯ Cursor
  ◯ Claude Code
```

这将在你的项目目录中创建相关的钩子配置文件。

### 手动设置

如果你想手动设置或在初始化后添加钩子，请运行：

```bash
npx ultracite init --hooks cursor,claude
```

或者，你也可以手动在项目目录中创建或编辑钩子配置文件并添加相应的钩子命令。

## 支持的编辑器

| 编辑器       | 钩子文件位置                | 文档                                                                    |
| ----------- | --------------------------- | ----------------------------------------------------------------------- |
| Cursor      | `.cursor/hooks.json`        | [Cursor 钩子](https://cursor.com/docs/agent/hooks)                     |
| Claude Code | `.claude/settings.json`     | [Claude Code 钩子](https://docs.claude.com/en/docs/claude-code/hooks)   |

## 工作原理

1. **自动执行**：在 AI 代理编辑文件后，钩子会自动运行 `npx ultracite fix`
2. **代码格式化**：Ultracite 根据你的 Biome 配置格式化被编辑的代码
3. **Lint 修复**：可自动修复的 lint 问题会被自动解决
4. **无缝集成**：该过程透明发生，不会打断你的工作流程

## 优势

使用 Ultracite 编辑器钩子提供若干好处：

- **一致性**：所有 AI 生成的代码都会被自动格式化以匹配你的风格
- **质量**：代码生成后立即修复 lint 问题
- **效率**：在 AI 编辑后无需手动运行格式化工具或 linter
- **规范性**：确保 AI 生成的代码始终符合项目标准
- **干净的提交**：在你审查之前代码已被正确格式化

## 自定义

Ultracite 会智能合并现有的钩子配置：

- **保留现有钩子**：所有现有的钩子及其命令都会保持不变
- **避免重复**：如果 Ultracite 已配置，则不会再次添加
- **非破坏性**：保持你现有的钩子配置结构

如果你需要不同的格式化命令或额外的编辑后操作，也可以直接通过修改钩子配置文件来自定义钩子行为。